/*
  学习目标：typeof操作符的使用
  作用：提取类型, 复用类型
  注意：
    1. typeof要写在注解里表示类型，注意和JS的书写位置typeof区分开
    2. typoef不能直接获取函数的返回值类型：❌ typeof fn()
*/

const obj = {
  a: {
    b: {
      c: {
        d: {
          e: [
            {
              name: '123',
              age: 18,
            },
          ],
        },
      },
    },
  },
};

// ❌JS中判断类型的语法： 写在了=右边，表示一个值："object"
// const xxx = typeof obj;

// ✅正确的写法
const obj2: typeof obj = {};

function test() {
  return {
    a: {
      b: {
        c: {
          d: {
            e: [
              {
                name: '123',
                age: 18,
              },
            ],
          },
        },
      },
    },
  };
}

// ❌ 不支持去函数的返回值类型
// const obj: typeof test() =
